VERITAS - CODE DIRECTORY README
================================

Project Name:
Veritas

Project Overview:
Veritas is a browser extension and backend analysis system designed to analyze online news articles and return a political leaning assessment based on source bias, language bias, and framing bias. The system includes a Chrome extension frontend and a Python FastAPI backend.

--------------------------------------------------
DIRECTORY STRUCTURE
--------------------------------------------------

Code/
│
├── README.txt
│   This file. Explains the directory structure and contents of the Code directory.
│
├── InstallationGuide/
│   Contains the step-by-step installation and setup guide for the project.
│   This folder should include:
│   - InstallationGuide.docx or InstallationGuide.pdf
│   - Screenshot images used in the guide
│
├── Extension/
│   Contains all deployable browser extension files.
│   Files:
│   - manifest.json
│       Chrome Extension Manifest V3 configuration file.
│   - background.js
│       Background service worker for the extension.
│   - popup.html
│       Main popup user interface layout.
│   - popup.css
│       Styling for the popup interface.
│   - popup.js
│       Popup logic, extraction flow, and backend API communication.
│   - settings.html
│       Settings page user interface.
│   - settings.css
│       Styling for the settings page.
│   - settings.js
│       Settings logic and persistence behavior.
│    - main.py
│       Main FastAPI application. Handles extraction and analysis endpoints.
│   - requirements.txt
│       Python dependency list needed to run the backend.
│   - .env
│       Environment variable file for API keys such as Gemini or Google API keys.
│       This file should not be shared publicly if it contains private credentials.
│
├── Extension/icons/
│   Contains extension icon assets.
│   Files:
│   - 16.png
│   - 48.png
│   - 128.png
│
├── docs/
│   Contains project documentation files.
│   Files:
│   - HowToStart.md
│       General project startup notes.
│
├── Documentation/versions/
│   Contains versioned development and release documentation.
│   Files:
│   - v0.1.0.md
│   - v0.2.0.md
│   - v0.3.0.md
│   - v0.3.1.md
│   - v0.4.0.md
│   - v0.5.0.md
│   - v0.5.1.md
│
├── Documentation/deprecated/
│   Contains older or deprecated documents kept for reference.
│   Files:
│   - datasets_kaggle_to_csv.md
│   - functions-and-use-cases.md
│   - VER-PIPELINE-001.md
│
├── LICENSE
│   Project license file.
│
├── .gitignore
│   Git ignore rules for local development files and folders.
│
└── package-lock.json
    Node package lock file included in the project directory.

--------------------------------------------------
SOURCE CODE
--------------------------------------------------

The complete source code for this project is included in:
- Backend/
- Extension/

These folders contain all files necessary to understand, run, and modify the project.

--------------------------------------------------
DEPLOYABLE CODE
--------------------------------------------------

The deployable part of this project is the browser extension located in:
- Extension/

This folder contains the files that can be loaded into Chrome as an unpacked extension.

The backend service must also be running for the extension to function correctly. The backend is located in:
- Backend/

--------------------------------------------------
DATABASE
--------------------------------------------------

This version of Veritas does not use a traditional relational database.
There is no Database/ folder because the project does not require SQL scripts,
database tables, or seeded database records in its current implementation.

The project instead uses:
- Chrome local storage for extension settings
- Environment variables for API configuration
- Runtime API calls for analysis results

--------------------------------------------------
IMPORTANT CONFIGURATION NOTES
--------------------------------------------------

Before running the project, the following configuration may be required:
1. Add the required API key to the .env file in Backend/
2. Make sure Python dependencies are installed from requirements.txt
3. Ensure the backend server is running locally
4. Make sure the extension frontend points to the correct backend URL
5. Load the Extension/ folder into Chrome as an unpacked extension

--------------------------------------------------
INSTALLATION GUIDE
--------------------------------------------------

A detailed installation guide with screenshots should be included in:
- InstallationGuide/

The installation guide should explain:
- How to install Python dependencies
- How to configure the .env file
- How to start the FastAPI backend
- How to load the Chrome extension
- How to test the extension on an article page
- Any files or settings that must be changed for a different machine

--------------------------------------------------
NOTES
--------------------------------------------------

Some folders from the original development environment such as:
- .venv
- .idea
- .vscode
- __pycache__

are development-only folders and are not required as part of the final submitted code package unless specifically requested by the instructor.

End of README.txt